package com.miplus.ccrm.report.service.cti;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.miplus.ccrm.common.CmdResVo;
import com.miplus.ccrm.report.controller.vo.cti.*;
import com.miplus.ccrm.report.controller.vo.ivr.listAgentCallVO;
import com.miplus.ccrm.report.controller.vo.rep.*;
import com.miplus.ccrm.report.controller.vo.robot.CallStatsVo;
import com.miplus.ccrm.report.pojo.ReportCallHist;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletResponse;
import java.util.List;

/**
* @author pc
* @description 针对表【report_call_hist】的数据库操作Service
* @createDate 2024-07-30 13:27:08
*/
public interface ReportCallHistService extends IService<ReportCallHist> {

    IPage<CallAgDayResVo> repAgentCallDay(String usrid, CallAgDayReqVo paras);

    IPage<RecyAgDayResVo> recoveryTotal(String usrid, RecyAgDayReqVo paras);

    IPage<DistCaseNumResVo> assignTotal(String usrid, DistCaseNumReqVo paras);

    CmdResVo expAgentCallDay(String usrid, CallAgDayReqVo paras, HttpServletResponse response);

    CmdResVo expRecoveryTotal(String usrid, RecyAgDayReqVo paras, HttpServletResponse response);

    CmdResVo expAssignTotal(String usrid, DistCaseNumReqVo paras, HttpServletResponse response);

    IPage<CallStatsVo> repRobotCallDay(CallStatsReqVo paras);

    IPage<listAgentCallVO> listAgentCall(listAgReqCallVo paras);

    CmdResVo expRobotCallDay(CallStatsReqVo paras, HttpServletResponse response);

    CmdResVo expReportCallList(listAgReqCallVo paras, HttpServletResponse response);

    IPage<AcdResVo> repAcdCallDay(AcdReqVo paras);

    CmdResVo expAcdCallDay(AcdReqVo paras, HttpServletResponse response);

    IPage<CallStatisticsResVo> repCallStatistics(CallStatisticsReqVo paras);

    CmdResVo expCallStatistics(CallStatisticsReqVo callStatisticsReqVo, HttpServletResponse response);

    IPage<AreaStatisticResVo> statisticsByTimeRange(AreaStatisticReqVo paras);

    List<CallInTrendResVo> queryCallInTrend(CallInTrendReqVo paras);

    CmdResVo expCallInTrend(CallInTrendReqVo paras, HttpServletResponse response);
}
